package top.as.sean.common.response;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 系统返回枚举
 *
 * @author duanjp
 * @description 系统返回枚举
 * @date 2022-01-21 15:15
 */
@AllArgsConstructor
@Getter
public enum RespStatus {
    /**
     * 统一成功响应
     */
    SUCCESS("0", "成功"),
    /**
     * 统一失败响应
     */
    FAIL("-1", "失败"),
    /**
     * 参数错误
     */
    PARAM_ERROR("10001", "参数错误"),
    /**
     * 当前服务繁忙,请稍后重试
     */
    BUSY_ERROR("10002", "当前服务繁忙,请稍后重试"),

    //====================数据字典异常============================
    DICT_DATA_NOT_FOUND("1001", "数据字典值没找到"),
    DICT_TYPE_NOT_FOUND("1002", "数据字典类型没找到"),
    DICT_TYPE_CODE_EXIST("1003", "数据字典编码已存在"),
    DICT_VALUE_CODE_EXIST("1004", "数据字典值编码已存在"),
    //=====================部门信息异常===========================
    DEPT_NAME_EXIST("2001", "该部门已存在"),
    DEPT_NOT_FOUND("2002", "部门信息没找到"),
    DEPT_NOT("2003", "上级部门不能是自己"),

    //======================职位信息==============================
    POST_EXISTED("3001", "该职位编码已存在"),
    POST_NOT_FOUND("3002", "职位信息不存在"),

    //=======================菜单信息===========================
    MENU_PERM_CODE_EXISTED("4001", "该权限标识符已存在"),
    MENU_NOT_FOUND("4002", "菜单数据没找到"),
    //======================用户信息==============================
    USER_EXIST_USERNAME("5001", "该账号已存在"),

    //=====================角色信息=============================
    ROLE_NAME_EXISTED("6001", "角色已存在"),
    ROLE_NOT_FOUND("6002", "角色没找到"),

    //=====================用户管理=================================
    SUPER_ADMIN_NOT_EDIT("7001", "超级管理员不可编辑"),
    CODE_TIME_OUT("7002","验证码已过期"),
    CODE_NOT_VALID("7003","验证码不正确"),
    USER_NOT_FOUNT("7004","用户没找到"),
    GO_LOGIN("7005","token失效，请重新登录"),

            //====================加解密异常=======================
    ENCODE_ERROR("8001", "加密异常"),
    DECODE_ERROR("8002", "解密异常"),
    PASSWORD_NOT_LEGALITY("8003", "密文已被篡改，无效密文");
    /**
     * 异常编码
     */
    private final String code;
    /**
     * 异常描述
     */
    private final String msg;
}
